/**
 * NG(Angular)应用程序主模块。
 */
'use strict';

/* 自定义 */
//获取前账号权限
function GETCURACCOUNTPERMISSIONS() {
	var apiKey = window.localStorage.getItem('apiKey');
	var curAccountDataUser = JSON.parse(window.sessionStorage.getItem('curAccountData-user'));
	var curAccountRole = [];//当前账号角色
	var curAccountPermissions = [];//当前账号权限
	if (curAccountDataUser) {
		//获取角色
		$.ajax({
			type: 'POST',
			headers: { 'Access-Control-Allow-Origin': '*', 'authorization': 'Bearer ' + apiKey },
			url: API_SERVICE_CBOARD + 'api/services/app/common/GetUserForEditCustom',
			data: { id: curAccountDataUser.id },
			async: false,
			xhrFields: {
				withCredentials: true
			},
			success: function (result) {
				// console.log('角色信息', result);
				curAccountRole = result.result.roles;
			},
		});
		if (curAccountRole.length > 0) {
			//获取权限
			for (let i = 0; i < curAccountRole.length; i++) {
				if (curAccountRole[i].isAssigned) {
					$.ajax({
						type: 'POST',
						headers: { 'Access-Control-Allow-Origin': '*', 'authorization': 'Bearer ' + apiKey },
						url: API_SERVICE_CBOARD + 'api/services/app/common/GetRoleForEditCustom',
						data: { id: curAccountRole[i].roleId },
						async: false,
						xhrFields: {
							withCredentials: true
						},
						success: function (result) {
							// console.log('权限信息', result);
							var rolePermissionsData = result.result.grantedPermissionNames;
							// window.localStorage.setItem('role', result.result.role.displayName);
							if (curAccountPermissions.length == 0) {
								curAccountPermissions = rolePermissionsData;
							} else {
								for (let j = 0; j < rolePermissionsData.length; j++) {
									if ($.inArray(rolePermissionsData[j], curAccountPermissions) == -1) {
										curAccountPermissions.push(rolePermissionsData[j]);
									}
								}
							}
						},
					});
				}
			}
		}
		// console.log('所有权限', curAccountPermissions);
	}
	return curAccountPermissions;
};
var CURACCOUNTPERMISSIONS = GETCURACCOUNTPERMISSIONS();

/* NG模块加载 */
var appModule = angular.module('Application_NG', [
	'ui.router',//路由
	'oc.lazyLoad',//懒加载
	'ui.bootstrap',
	'ui.grid',
	'angular-loading-bar',//ng加载条服务
	'tmPagination',//分页服务
	'angularFileUpload',//上传文件
	'toastr',//消息提示插件
	'ngLocale',//日期选择器插件汉化服务
	'chart.js',//angular-chart图形插件
	'treeControl',
	'pascalprecht.translate',//CBoard插件
	'angular-md5', 'dndLists', 'ui.ace',//CBoard插件
	'textAngular',//文本编辑器插件
]);

/* 自定义常量 */
appModule.constant('ENV', {
	appPath: API_SERVICE_CBOARD,
});

/* 初始化全局数据 */
appModule.run([
	'$rootScope', '$window', '$state',
	function ($rootScope, $window, $state) {
		$rootScope.session = null;
	}
]);


//日期插件汉化服务
angular.module("ngLocale", [], ["$provide", function ($provide) {
	var PLURAL_CATEGORY = { ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other" };
	$provide.value("$locale", {
		"DATETIME_FORMATS": {
			"AMPMS": [
				"\u4e0a\u5348",
				"\u4e0b\u5348"
			],
			"DAY": [
				"\u661f\u671f\u65e5",
				"\u661f\u671f\u4e00",
				"\u661f\u671f\u4e8c",
				"\u661f\u671f\u4e09",
				"\u661f\u671f\u56db",
				"\u661f\u671f\u4e94",
				"\u661f\u671f\u516d"
			],
			"ERANAMES": [
				"\u516c\u5143\u524d",
				"\u516c\u5143"
			],
			"ERAS": [
				"\u516c\u5143\u524d",
				"\u516c\u5143"
			],
			"FIRSTDAYOFWEEK": 6,
			"MONTH": [
				"\u4e00\u6708",
				"\u4e8c\u6708",
				"\u4e09\u6708",
				"\u56db\u6708",
				"\u4e94\u6708",
				"\u516d\u6708",
				"\u4e03\u6708",
				"\u516b\u6708",
				"\u4e5d\u6708",
				"\u5341\u6708",
				"\u5341\u4e00\u6708",
				"\u5341\u4e8c\u6708"
			],
			"SHORTDAY": [
				"\u5468\u65e5",
				"\u5468\u4e00",
				"\u5468\u4e8c",
				"\u5468\u4e09",
				"\u5468\u56db",
				"\u5468\u4e94",
				"\u5468\u516d"
			],
			"SHORTMONTH": [
				"1\u6708",
				"2\u6708",
				"3\u6708",
				"4\u6708",
				"5\u6708",
				"6\u6708",
				"7\u6708",
				"8\u6708",
				"9\u6708",
				"10\u6708",
				"11\u6708",
				"12\u6708"
			],
			"STANDALONEMONTH": [
				"\u4e00\u6708",
				"\u4e8c\u6708",
				"\u4e09\u6708",
				"\u56db\u6708",
				"\u4e94\u6708",
				"\u516d\u6708",
				"\u4e03\u6708",
				"\u516b\u6708",
				"\u4e5d\u6708",
				"\u5341\u6708",
				"\u5341\u4e00\u6708",
				"\u5341\u4e8c\u6708"
			],
			"WEEKENDRANGE": [
				5,
				6
			],
			"fullDate": "y\u5e74M\u6708d\u65e5EEEE",
			"longDate": "y\u5e74M\u6708d\u65e5",
			"medium": "y\u5e74M\u6708d\u65e5 ah:mm:ss",
			"mediumDate": "y\u5e74M\u6708d\u65e5",
			"mediumTime": "ah:mm:ss",
			"short": "y/M/d ah:mm",
			"shortDate": "y/M/d",
			"shortTime": "ah:mm"
		},
		"NUMBER_FORMATS": {
			"CURRENCY_SYM": "\u00a5",
			"DECIMAL_SEP": ".",
			"GROUP_SEP": ",",
			"PATTERNS": [
				{
					"gSize": 3,
					"lgSize": 3,
					"maxFrac": 3,
					"minFrac": 0,
					"minInt": 1,
					"negPre": "-",
					"negSuf": "",
					"posPre": "",
					"posSuf": ""
				},
				{
					"gSize": 3,
					"lgSize": 3,
					"maxFrac": 2,
					"minFrac": 2,
					"minInt": 1,
					"negPre": "-\u00a4",
					"negSuf": "",
					"posPre": "\u00a4",
					"posSuf": ""
				}
			]
		},
		"id": "zh",
		"localeID": "zh",
		"pluralCat": function (n, opt_precision) { return PLURAL_CATEGORY.OTHER; }
	});
}]);